Hardware and software systems utilized on aircraft are becoming increasingly complex. Various sensors, displays, and the hardware and software utilized to monitor and control these systems are generally referred to as the aircraft's avionics systems.
For example, sensors may be used to monitor various parameters such as altitude, wind speed, direction, air pressure, temperature, and the like, and provide feedback to the crew of the aircraft regarding those parameters. The hardware systems used to sense these various parameters often include transducers configured to convert measured parameters into electrical signals, which are then applied to a number of hardware buses that provide electrical inputs to one or more flight computers. In addition, an aircraft's flight computers may also be configured to apply output signals to hardware buses, which interface with various sensors, displays, and the like to provide information to flight personnel, as well as to other flight computers and communications systems.
Many aspects of present day avionics systems have evolved from avionics systems of previous generations. As a result, many of the data buses for these avionics systems are complex. Moreover, many of the protocols, communications systems, and computing methodologies employed in modern day avionics systems have been specifically developed for the aircraft avionics industry, such as systems based on the ARINC 429 specification, and, hence, may not utilize many of the more recently developed protocols and computing methodologies that have been developed outside of the avionics industry.
The sophistication and complexity of an aircraft's avionics system may require that pilots, navigators, and other flight crew members receive in-depth training and/or periodic refresher training on the use and operation of these avionics systems. For this purpose, various flight simulator systems have been developed that allow flight crew members to be trained in a simulated cockpit environment.
Flight simulator systems may range from software applications loaded on a PC, on the one hand, to full cockpit mock-ups with simulated audio, visual, mechanical, and tactical feedback, on the other hand. Although it may be desirable to simulate the actual cockpit environment for many flight training applications, the cost of replicating avionics systems in a simulation environment can be quite high.
With reference to FIG. 1, an exemplary flight simulator system is presented. Flight simulator system 100 contains a computer 102 that is configured to operate at least a portion of the flight simulator. Regardless of the complexity of the simulator, the purpose of the simulator is the same: to provide an environment in which a pilot can practice both the mechanics of flying an aircraft and experience the monitoring of the various systems of the aircraft without incurring the costs and dangers associated with flying an actual aircraft. Simulator 100 also includes controller 110 and display 112. It should be understood that controller 110 may be of various different configurations. For example, a single joystick can be used. In the alternative, a yoke may be used to simulate the controls of the aircraft. In addition, controller 110 may also include a separate throttle control, various pedals for rudder and brake control, and various buttons and controls to simulate various other functions.
Display 112 may be a single CRT or LCD that displays a simulated gauge panel from a cockpit, in addition to simulated cockpit windows that show the simulated surrounding scenery. In a larger simulation system, display 112 may comprise a plurality of displays. For example, one display may show the gauges, and various displays may simulate one or more windows of the cockpit.
A pilot using simulator 100 can view what the aircraft is simulated to be doing and react to the aircraft's performance by making various inputs to controller 110, such as pulling back on the control to climb or turning the control to the left to turn the aircraft simulation. Computer 102 receives the pilot's inputs and reacts accordingly. For example, if the pilot pulled back on controller 110 to climb, computer 102 changes display 112 such that a climb is indicated by changing the gauges simulated by computer 102 and changing the scenery displayed in a simulated window of cockpit. In a simulator with a hydraulically-controlled simulated cockpit, the hydraulics also move the simulated cockpit such that a climb is simulated.
For a more realistic and useful simulation, it may be desirable to simulate components of an aircraft in addition to those that directly affect the flight path of the aircraft. For example, the Flight Management System (“FMS”) of an aircraft can be an important component which enables a pilot to access data concerning navigation, aircraft status, flight plan information, and the like. The Flight Management System is often used by pilots for flight planning, navigation, performance management, aircraft guidance, datalink communications, and flight progress monitoring to ensure optimum efficiency and effectiveness with a minimum workload. The capabilities of the FMS may include such functions as navigation, performance prediction and optimization, flight planning, managed guidance computations, back-up navigation, information display management, enhanced required time of arrival (RTA), required navigation performance (RNP), simplified loading of operational programs, operation program configuration (OPC) and airline modifiable information (AMI) databases, independent database crossloading, and future air navigation system (FANS) A capabilities. The FMS is typically designed to operate in a dual-mode wherein two FMS line-replaceable units (LRUs) are coupled together to provide redundant calculations for comparison. During degraded system modes, the FMS may singly operate if one FMS has failed or the FMS may operate independently of the other FMS. Because of the complexity and importance of the FMS, it is desirable for pilots training on a simulator to also simulate the operation of the FMS, in order to gain a more complete familiarity with the FMS.
Various flight simulation systems have been developed using computing and software technologies which may or may not also be employed in an actual aircraft.
For example, flight simulation applications may utilize platforms such as UNIX, Windows™, Windows NT™, Windows 2000™, or Windows XP™. In addition, many flight simulator systems employ Transmission Control Protocol/Internet Protocol (“TCP/IP”) and other communication protocols which grew out of the PC and networking industries, but which may not be employed on actual aircraft systems. As a result, many secondary flight control software applications, such as an FMS application, must be adapted and modified from the versions used in the actual aircraft to be used in a simulator because they may communicate using standard aircraft communication protocols.
Some of the same companies which provide software and hardware systems to aircraft manufacturers also supply versions of these same hardware and software systems to manufacturers of flight simulators. However, since flight simulation environments often employ protocols and computing methodologies which are different from those used on an actual aircraft, flight simulator systems of the prior art often relied upon two different versions of these software products being developed: (1) a version for use on an actual aircraft that is compatible with the protocols and communication buses employed on an aircraft; and (2) a simulated version adapted for use in a simulation environment, and that is configured for use with the protocols, computing methodologies, and input/output systems associated with the simulation environment.
The version of the software used in the actual aircraft may be periodically updated to result in a more efficient or more feature-laden product. When the version of the software used in the actual aircraft is updated, the simulated version of the software must be updated if the version used in the simulation is to correspond with the version used on the actual aircraft. This requires that the simulation version of, for example, an FMS software application be updated periodically to reflect updates which are made in the actual aircraft version of the FMS application. The production of a simulation version thus leads to an increase in the cost and time of development, because of the need to create two separate versions of the same program. These costs may be exacerbated if the simulated version communicates in a different format than the version used on the actual aircraft.
Systems and methods are needed which reduce the time, cost, and complexity associated with creating, installing, and maintaining flight control hardware and software systems in a simulation environment.